import { Login } from '@/api/interface/index'
import { AUTH } from '@/api/config/servicePort'
import http from '@/api'
import { PORT1 } from '@/api/config/servicePort'
import { UserInfo } from '@/stores/interface'

/**
 * @name 登录模块
 */
// 用户登录
export const loginApi = (params: Login.ReqLoginForm) => {
  return http.post<Login.ResLogin>(PORT1 + `/login`, params, { loading: false }) // 正常 post json 请求  ==>  application/
  // return http.post<Login.ResLogin>(PORT1 + `/login`, params, { noLoading: true }); // 控制当前请求不显示 loading
  // return http.post<Login.ResLogin>(PORT1 + `/login`, {}, { params }); // post 请求携带 query 参数  ==>  ?username=admin&password=123456
  // return http.post<Login.ResLogin>(PORT1 + `/login`, qs.stringify(params)); // post 请求携带表单参数  ==>  application/x-www-form-urlencoded
  // return http.get<Login.ResLogin>(PORT1 + `/login?${qs.stringify(params, { arrayFormat: "repeat" })}`); // get 请求可以携带数组等复杂参数
}

// 用户户退出登录
export const logoutApi = () => {
  return http.delete(AUTH + `/logout`)
}

// 用户信息
export const fetchUserinfo = () => {
  return http.get<UserInfo>(AUTH + `/info`)
}

// 检查token
export const checkToken = () => {
  return http.get(AUTH + '/check', { isRenew: true }, { loading: false })
}
